package com.benshou.bsoa.sao;

import com.benshou.bsoa.dto.xinchou.req.SalaryAccountRequest;
import com.benshou.bsoa.dto.xinchou.req.SalaryArchiveRequest;
import com.benshou.bsoa.dto.xinchou.res.SalaryAccountResponse;
import com.benshou.bsoa.dto.xinchou.res.SalaryArchiveResponse;
import jakarta.validation.Valid;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;


/*
 * 查询薪资档案数据
 */
@FeignClient(name = "salaryArchiveClient", url = "${benshou.xinchou.requesturl}")
public interface SalaryArchiveClientSao {

    /**
     * 查询员工薪资档案数据
     * @param request 请求参数
     * @return 响应对象，包含薪资档案数据
     */
    @PostMapping(consumes = "application/json", produces = "application/json")
    SalaryArchiveResponse getSalaryArchives(@RequestBody  SalaryArchiveRequest request, @RequestHeader("x-acs-dingtalk-access-token") String authorizationHeader);



    /**
     * 查询员工薪资档案数据
     * 工资结算
     * @param request 请求参数对象，包含员工ID列表、分页信息等
     * @param authorizationHeader 授权头信息，包含钉钉访问令牌
     * @return 响应对象，包含薪资档案数据
     */
    @PostMapping(consumes = "application/json", produces = "application/json")
    SalaryAccountResponse getSalaryAccount(
            @RequestBody SalaryAccountRequest request,
            @RequestHeader("x-acs-dingtalk-access-token") String authorizationHeader
    );
}